package com.molichuxing.gateway.bff.car.services;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.gateway.bff.car.entity.request.create.MaintenanceLogCreateVo;
import com.molichuxing.gateway.bff.car.entity.response.MaintenanceAppNewVo;
import com.molichuxing.gateway.bff.car.entity.response.MaintenanceAppVo;
import com.molichuxing.gateway.bff.car.entity.response.MaintenanceLogAppVo;
import com.molichuxing.gateway.bff.car.entity.response.MaintenanceLogVo;

/**
 * @Author: renzhengyu
 * @Description: 保养
 * @Date: Created in 10:24 2019/9/26
 * @Modified By:
 **/
public interface MaintenanceBffService {



    /**
     * 创建保养历史信息
     * @param maintenanceLogCreateVo
     * @return
     */
    Boolean createMaintenanceLog(MaintenanceLogCreateVo maintenanceLogCreateVo) throws Exception;

    /**
     * 校验当前保养信息是否是审核通过状态
     * @param maintenanceLogId
     * @return
     */
    Boolean checkStateMaintenanceLog(Integer maintenanceLogId) throws Exception;

    /**
     * 保养历史详情
     * @param maintenanceLogId
     * @return
     */
    MaintenanceLogVo maintenanceLogDetail(Integer maintenanceLogId) throws Exception;

    /**
     * 保养列表
     * @param resultType 1:用车中数据（该字段不传值默认为1）  2:查看历史数据  
     * @param pageNum
     * @param pageSize
     * @return
     */
    MaintenanceAppVo getMaintenanceAppVoPage(Integer resultType, Integer pageNum, Integer pageSize) throws Exception;

    /**
     * 保养列表
     * @param pageNum
     * @param pageSize
     * @return
     */
	MaintenanceAppNewVo getMaintenanceAppVoPageNew(Integer pageNum, Integer pageSize) throws Exception;

	 /**
     * 保养列表（历史）
     * @param pageNum
     * @param pageSize
     * @return
     */
	Paged<MaintenanceLogAppVo> getMaintenanceLogAppVoPage(Integer pageNum, Integer pageSize)throws Exception;
}
